﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MazeEntity;

namespace FunMazeEngine
{
    public interface IMediator
    {
        bool CreateGame(IGameClient player, int mazePara, int treasureCount);
        bool GameExists();
        bool StartGame();        
        bool JoinGame(IGameClient player);

        IGameClient GetGamePlayer(string name);
        void UpdateGameInfo(GameEntity theGameEntity);
        void UpdateClientList(IGameClient client);

        int PlayerMove(IGameClient player, char x);
        
        string GetErrorMessage();

        void ExitGame(IGameClient player);
        void SwitchToPrimaryServer(GameEntity gameInfo, IGameClient client);
        void SendBackUpServerIPToPlayers(string serverIP);
        void SendWelcomeMessageToPlayers(string message);
    }
}
